Filtering calls based on characteristics such as the phone numbers of the devices involved in the call, network addresses of the devices involved in the call, or the carrier responsible for the call, allows a communication system to effectively perform tasks related to security, quality of service (QoS), network management, troubleshooting and other aspects of communication services. By tracking a call as the call advances through a network and assigning filtering responsibilities to components distributed throughout the network, a communication system can distribute workload more efficiently and provide more effective communication service.
Tracking may be accomplished by embedding information in existing communication protocols operating on the communication system. There are, however, a number of drawbacks to embedding the information in existing protocols. For example, a particular communication system may support multiple protocols. Embedding the information may therefore require modifying multiple protocols, adding significant complexity to tracking features. Additionally, embedded information must be interpreted and relayed between protocols when a call bridges interconnected domains operating under different protocols. Furthermore, if there is no signaling message in the middle of established calls, an artificial signaling message must be generated when tracking information originates in the middle of the communication system.